package Common_ArrayList_API;
//

import java.util.ArrayList;
import java.util.List;

public class test1 {
    public static void main(String[] args) {
        //1.创建一个ArrayList的集合对象
        //这是一个泛型的集合对象(不太建议这样写)
//        ArrayList list = new ArrayList();
//        list.add("黑马");
//        list.add(666);
//        list.add("黑马");//可以重复
//        System.out.println(list);

        //这是一个约束储存数据的集合
//        ArrayList<String> list = new ArrayList<String>();//这两种都是可以的
        ArrayList<String> list = new ArrayList<>();
        list.add("黑马");
//        list.add(666);//在这里整形就会报错了,
        list.add("黑马");//可以重复
        System.out.println(list);

        System.out.println("=======================");

        //2.往集合中的某个索引位置处添加一个数据
        list.add(1,"vs");
        System.out.println(list);//这里就会变成"黑马,vs,黑马"

        System.out.println("=======================");

        //3.根据索引获取集合中某个索引位置的值
        System.out.println(list.get(1));//这里会提取索引一位置上的数据,即"vs"

        System.out.println("=======================");

        //4.获取集合的大小(返回元素个数)
        System.out.println(list.size());

        System.out.println("=======================");

        //5.根据索引删除该索引位置的数据,并且返回删除的数据
        System.out.println(list.remove(1));//这里会把二索引上的数据移除(即vs)并打印
        System.out.println(list);//这里就变成了"黑马,黑马"

        System.out.println("=======================");

        //6.直接删除指定元素值,成功返回true
        list.remove("黑马");//这里只会删除一个,并且默认删除第一个
        System.out.println(list);//这里结果为"黑马"

        System.out.println("=======================");

        //7.修改该索引位置处的数据,修改后返回原来的数据
        System.out.println(list.set(0, "黑马程序员"));//这里会打印原来的值"黑马"
        System.out.println(list);//最后list只剩下"黑马程序员"
    }
}
